/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.dew.sisrest.dao.hibernate;

import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import pe.edu.upc.dew.sisrest.dao.UnidadDao;
import pe.edu.upc.dew.sisrest.model.Unidad;

/**
 *
 * @author Aldo
 */
@Repository
public class UnidadDaoHibernate extends HibernateDaoSupport implements UnidadDao {

    @Autowired
    public UnidadDaoHibernate(SessionFactory sessionFactory){
        setSessionFactory(sessionFactory);
    }

    @Override
    public List<Unidad> obtenerUnidades() {
        return getHibernateTemplate().find(" from Unidad");
    }

    @Override
    public Unidad obtenerUnidad(String sId) {
        return (Unidad)getHibernateTemplate().get(Unidad.class, sId);
        //return (Unidad)getSession().createQuery("from Unidad" +
        // "where unicod=?").setString(sId, sId).uniqueResult();
    }

    @Override
    public void grabarUnidad(Unidad objUni) {
        getHibernateTemplate().saveOrUpdate(objUni);
    }

    @Override
    public void eliminarUnidad(String sId) {
        Unidad objUni= obtenerUnidad(sId);
        getHibernateTemplate().delete(objUni);
    }
}